#include <head.h>

int main(int argc, char const *argv[])
{
    struct stat stat_buf;
    stat("001.txt" , &stat_buf);

    // 设备编号
    printf("dev_id = %ld\n" , stat_buf.st_dev);

    // 文件编号  唯一编号
    printf("ino_id = %ld\n" , stat_buf.st_ino);

    // 硬链接的数量
    printf("link_num = %ld\n" , stat_buf.st_nlink);

    // 所占空间大小
    printf("file_size = %ld\n" , stat_buf.st_size);

    // 上次访问时间
    time_t atime = stat_buf.st_atime;
    printf("上次访问时间 = %s" , ctime(&atime));
    // 上次修改时间
    time_t mtime = stat_buf.st_mtime;
    printf("上次修改时间 = %s" , ctime(&mtime));
    // 上次状态改变时间
    time_t Ctime = stat_buf.st_ctime;
    printf("上次状态改变时间 = %s" , ctime(&Ctime));

    //文件所有者的用户
    printf("u_id = %d\n" , stat_buf.st_uid);
    struct passwd * u_struct;
    u_struct = getpwuid(stat_buf.st_uid);
    printf("u_str = %s\n" , u_struct->pw_name);
    //文件所有者的组
    printf("g_id = %d\n" , stat_buf.st_gid);
    struct group * g_struct;
    g_struct = getgrgid(stat_buf.st_gid);
    printf("g_str = %s\n" , g_struct->gr_name);

    return 0;
}

